﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ServiceOTO;
using ServiceOTOForm;
using System.Web;
using Telerik.WinControls.UI;
using System.Collections;
namespace ServiceOTOForm
{
    public partial class PHIEUXUAT : DevExpress.XtraEditors.XtraForm
    {
        private int ID;
        private int TT = 0;
        private OTOSW.DataIn dti = new OTOSW.DataIn();

        private OTOSW.DONHANG_ENTITY dh = new OTOSW.DONHANG_ENTITY();
        private OTOSW.CHITIET_DONHANG_ENTITY ctdh = new OTOSW.CHITIET_DONHANG_ENTITY();
        private OTOSW.PHIEUXUAT_ENTITY px = new OTOSW.PHIEUXUAT_ENTITY();
        private OTOSW.CHITIET_PHIEUXUAT_ENTITY CTPX = new OTOSW.CHITIET_PHIEUXUAT_ENTITY();
        
        public PHIEUXUAT()
        {
            InitializeComponent();
        }
        private void LoadLVDSPhieuXuat()
        {
            DataSet ds = new DataSet();
            px.NGAYXUAT = dtpNgayXuat.Value;

            ds = dti.DANHSACHPHIEUXUAT(px);
            if (ds.Tables.Count > 0)
            {
                radListView1.Items.Clear();
                foreach (DataRow r in ds.Tables[0].Rows)
                {
                    radListView1.Items.Add(r["MAPX"], r["SOPX"], r["MADH"]);
                    //.Rows.Add();
                }
            }
        }

        private void PHIEUXUAT_Load(object sender, EventArgs e)
        {
            LoadLVDSPhieuXuat();
            LoadComboDONHANG();
        }
        private void LoadComboDONHANG()
        {
            try
            {

                DataSet ds = new DataSet();
                dh.NGAYHD = DateTime.Now;
                ds = dti.LIST_DONHANG(dh);
                cbDonHang.DataSource = ds.Tables[0];
                cbDonHang.DisplayMember = "MAHD";
                cbDonHang.ValueMember = "MAHD";

            }
            catch
            {

            }
        }
        private void GET_PhieuXuat_ByMA(int MApx)
        {
            radGridView2.AllowAddNewRow = false;
            CTPX.MAPX = MApx;
            px.MAPX = MApx;
            px.NGAYXUAT = dtpNgayXuat.Value;
            DataSet ds = dti.GET_IFPX(px);
            if (ds.Tables.Count > 0)
            {
                foreach (DataRow r in ds.Tables[0].Rows)
                {
                    ID = Convert.ToInt32(r["MAPX"]);
                    txtSoPX.Text = r["SOPX"].ToString();
                    cbDonHang.SelectedValue = r["MADH"].ToString();
                    dtpNgayXuat.Value = Convert.ToDateTime(r["NGAYXUAT"]);                   

                    CTPX.MAPX = ID;
                    
                    DataSet dsct = dti.DANHSACHCHITIET_PHIEUXUAT_BY_idPX(CTPX);
                    if (dsct.Tables.Count > 0)
                    {
                        radGridView2.Rows.Clear();
                        foreach (DataRow dr in dsct.Tables[0].Rows)
                        {
                            radGridView2.Rows.Add(dr["MAXE"].ToString(), dr["SOLUONG"].ToString(), dr["DONGIAXUAT"].ToString());
                        }
                    }
                }

            }
        }
        private void radListView1_ItemMouseClick(object sender, ListViewItemEventArgs e)
        {
            try
            {
                ListViewDataItem ri = radListView1.SelectedItem;
                ID = Convert.ToInt32(ri[0]);
                GET_PhieuXuat_ByMA(ID);
            }
            catch
            {

            }
        }
        private void XoaRong()
        {
            txtSoPX.Text = "";           
            cbDonHang.SelectedIndex = 0;
            radGridView2.Rows.Clear();
        }
        private void ActiveButton(bool flag)
        {

            btLuu.Enabled = flag;
            btHuy.Enabled = flag;
            btThem.Enabled = !flag;
            btSua.Enabled = !flag;
            btXoa.Enabled = !flag;

        }
        private void ThemPhieuXuat()
        {
            px.MADH = cbDonHang.SelectedValue.ToString();
            px.NGAYXUAT =dtpNgayXuat.Value;
            px.SOPX = txtSoPX.Text;
          
            try
            {
                dti.ADDPX(px);


            }
            catch
            {

            }
        }
        private void SuaPhieuXuat()
        {
            px.MADH = cbDonHang.SelectedValue.ToString();
            px.NGAYXUAT = dtpNgayXuat.Value;
            px.SOPX = txtSoPX.Text;
            try
            {
                dti.EDITPX(px);
                MessageBox.Show("Cập nhật thành công phiếu Xuất số " + txtSoPX.Text, "Thông báo", MessageBoxButtons.OK);
                ActiveButton(false);
                LoadLVDSPhieuXuat();
            }
            catch
            {
                MessageBox.Show("Xảy ra lỗi khi cập nhật   Phiếu Xuất  số  " + txtSoPX.Text, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void XoaPhieuXuat()
        {
            px.MAPX=ID;
            try
            {
                if (MessageBox.Show("Bạn có muốn xoá phiếu Xuất  số " + txtSoPX.Text + " không ?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    dti.DELETEPX(px);
                    MessageBox.Show("Xoá thành công phiếu Xuất số " + txtSoPX.Text, "Thông báo", MessageBoxButtons.OK);
                    XoaRong();
                    LoadLVDSPhieuXuat();
                }
            }
            catch
            {

            }
        }
    }
}